[IAD-MIGRATION-113] Создать таблицу хранения инцидентов цензуры и черновиков в СУБД
Реализация gRPC метода криптографической валидации токенов магазинов
NoteКраткая карточка задачи
- Репозиторий / Компонент:
auth-service/mdm-service(Базыauth_dbиmdm_db). - Целевая СУБД: PostgreSQL v15+.
- Ссылка на Метод: Конфигурация кэша безопасности IAD
- Статус: Готово к реализации
- Инструкция по шагам: Выполнить DDL-миграцию для создания таблицы логирования инцидентов нарушений (в контуре безопасности
auth_db) и таблицы хранения черновиков чеков, требующих ручной модерации (в контуреmdm_db). Прямые межконтурные FK запрещены.
-- Скрипт миграции для auth_db (Контур SECURITY)
CREATE TABLE IF NOT EXISTS auth_db.abuse_violations (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
user_id VARCHAR(64) NOT NULL,
trace_id VARCHAR(128) NOT NULL, -- X-Request-ID для сквозного поиска в Loki
violation_type VARCHAR(32) NOT NULL, -- 'PROFANITY', 'SPAM'
raw_content TEXT NOT NULL,
confidence_score NUMERIC(4, 3) NOT NULL,
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
);
CREATE INDEX IF NOT EXISTS idx_violations_user_created
ON auth_db.abuse_violations (user_id, created_at DESC);
-- Скрипт миграции для mdm_db (Контур MDM)
CREATE TABLE IF NOT EXISTS mdm_db.moderation_tickets (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
ticket_id VARCHAR(64) UNIQUE NOT NULL, -- Бизнес-ключ ticket_123
user_id VARCHAR(64) NOT NULL,
trace_id VARCHAR(128) NOT NULL,
status VARCHAR(32) NOT NULL, -- 'PENDING', 'REJECTED', 'RESOLVED'
raw_text_draft TEXT NOT NULL,
app_lang VARCHAR(8) DEFAULT 'ru',
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
);
CREATE INDEX IF NOT EXISTS idx_mod_tickets_user_status
ON mdm_db.moderation_tickets (user_id, status)
WHERE status = 'PENDING';